/**
  ETFRoot project, Anyang Normal University && IMP-CAS
  \class ETFUserAnaTask
  \brief user class for tasks in the tracking stage
  \author SUN Yazhou, asia.rabbit@163.com
  \since 2021-10-31
  \date 2021-12-03 last modified
  \attention
  changelog
  <table>
  <tr>  <th>Date         <th>Author      <th>Description                    </tr>
  <tr>  <td>2021-10-31   <td>Asia Sun    <td>file created                   </tr>
  </table>

  \copyright Copyright (c) 2021 Anyang Normal U. && IMP-CAS with LGPLv3 LICENSE
*/

#ifndef ETFUserAnaTask_h
#define ETFUserAnaTask_h

#include "ETFAnaTask.h"

class TH1F;
class TH2F;

class ETFUserAnaTask : public ETFAnaTask{
public:
  ETFUserAnaTask(const char *name = "UserAnaTask", int verbose = 1);
  virtual ~ETFUserAnaTask();

  ClassDef(ETFUserAnaTask, 1); // user class for tasks in the tracking stage

protected:
  virtual void CreateHistos();

  /// ------- comprehensive performance indicators for individual detectors ------- //
	/// fired distributions, multiplicities and drift time distributions specifically for MWDCs
	TH1F *hTOFWFiredDist, *hDCFiredDist[3][3]; ///< [DC0-1-2][X-U-V]
	TH2F *hTOFWToTRef; ///< stripId v.s. t_TOF - t_Tstop
  TH1F *hDCToTRef[3][3]; ///< t_DC - t_Tstop, [dcArrL-R][DC0-1-2][X-U-V]
	TH1F *hTOFWMulti, *hDCMulti[3][3][2]; ///< multiplicity; [DC0-1-2][X-U-V][1,2]
	/// PosCmp: hit position in TOFW strip, rough and refine, from Down End to up end (0-1200).
	TH2F *hTOFWHitPos, *hTOFWHitPosCmp; ///< [dcArrL-R], Cmp: posY calculated via dt v.s. 3D trks
	TH1F *hdt[3][3]; ///< drift time extracted from fitted tracks; [DC0-1-2][X-U-V]
};

#endif
